<?php

namespace App\Admin\Forms;

use App\Models\Medical;
use App\Models\Todo;
use Dcat\Admin\Models\Administrator;
use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Widgets\Form;
use Dcat\Admin\Contracts\LazyRenderable;
use Illuminate\Support\Facades\DB;

class OverTodo extends Form implements LazyRenderable
{
    use LazyWidget; // 使用异步加载功能

    // 处理请求
    public function handle(array $input)
    {
        // 获取外部传递参数
        $id = $this->payload['id'] ?? null;

        // 表单参数
        $over_at = $input['over_at'] ?? null;
        $desc = $input['desc'] ?? null;

        if (!$id) {
            return $this->response()->error('参数错误');
        }

        $todo = Todo::query()->find($id);

        if (!$todo) {
            return $this->response()->error('未找到病例');
        }

        $todo->update(['over_at' => $over_at, 'desc' => $desc, 'status' => 1]);

        return $this->response()->success('成功')->refresh();
    }

    public function form()
    {
        // 获取外部传递参数
        // $id = $this->payload['id'] ?? null;
        // dd($id);
        //
        $this->datetime('over_at', '完成时间');
        $this->textarea('desc', '完成描述');
    }

    // 返回表单数据，如不需要可以删除此方法
    public function
    default()
    {
        return [
            'over_at'         => '',
            'desc' => '',
        ];
    }
}
